var strategies = {
		// 是否为空
		isNotEmpty:function(value, errorMsg){
			console.log(value)
			if (value === '') {
				return errorMsg
			}
			return;
		},
		// 密码格式
		checkPwdFormat:function(value, errorMsg){
			console.log(5555555555555555555555555555555)
			if(!/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/.test(value)){
				// uni.showToast({
				// 	icon:"none",
				// 	title:errorMsg
				// })
				return errorMsg
			}
			// if (value.length < length) {
			// 	uni.showToast({
			// 		icon:"none",
			// 		title:errorMsg
			// 	})
			// }
			return;
		},
		//密码确认
		checkPwd:function(once,twice,errorMsg){
			console.log(5555555555555555555555555555555)
			if(once!==twice){
				// uni.showToast({
				// 	icon:"none",
				// 	title:errorMsg
				// })
				return errorMsg
			}
			return;
		},
		//号码格式
		NumberFormat:function(value,errorMsg){
			if((!/(^1[3|5|7|8|9][0-9]{9}$)/.test(value))&&(!/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(value))) {
				console.log(value)
				return errorMsg;
			}
		},
		PhoneFormat:function(value){
			if((!/(^1[3|5|7|8|9][0-9]{9}$)/.test(value))) {
				return false;
			}
			else{
				return true;
			}
		},
		EmailFormat:function(value){
			if((!/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(value))) {
				return false;
			}
			else{
				return true;
			}
		},
		//验证码
		CheckCode:function(value,errorMsg){
			var code=uni.getStorageSync('correct_code');
			console.log(code)
			if(value!==code){
				return errorMsg;
			}
		}
	}
const check=(function(cache){
	return{
		add:function(value,rules){
			console.log(rules)
			for(var i=0,rule;rule=rules[i++];){
				(function(rule){
					var strategyAry=rule.strategy.split(':');
					var errorMsg=rule.errorMsg;
					cache.push(function(){
						var strategy=strategyAry.shift();
						strategyAry.unshift(value);
						strategyAry.push(errorMsg)
						return strategies[strategy].apply(null,strategyAry);
					})
				})(rule)
			}
			console.log(cache)
		},
		check_rule:function(rule,value){
			console.log(rule);
			// validatorFunc=strategies[rule];
			var msg = strategies[rule](value); // 开始效验 并取得效验后的返回信息
			if(msg) {
				return msg;
			}
		},
		start : function(){
			var error=[]
			console.log(cache)
			for(var i = 0, validatorFunc; validatorFunc = cache[i++]; ) {
				// console.log(11111111111111111111111111)
				// console.log(cache[i])
				var msg=validatorFunc();
				// console.log(msg)
				if(msg!==undefined){
					error.push(msg); // 开始效验 并取得效验后的返回信息
				}
				console.log(error)
			console.log(error.length)
			if(error.length!==0) {
				return error[0];
			}
			}
		}
	}
})
export default{
	check
}
